import { ILoadMapTypeAll } from '@/common';
import { getLevelZeroJson, getSelectDataCommon, getTenantID } from '@/utils';
import { AssetAcquisitionManageAPI } from '../common/type';
/**
 * @param {Object} loadMdicMapList 数据字典
 * @param {Object} areaListData 地区字典
 * */
const ManageSearchColumns = (loadMdicMapList: Record<string, any>, queryTypeObj: Record<string, any>): AssetAcquisitionManageAPI.IHeaderSearchType => {
  /**申请状态数据字典*/
  const applyStatusList = getSelectDataCommon(loadMdicMapList?.[`${getTenantID()}${ILoadMapTypeAll.ENTER_STORE_STATUS}`], 'name', 'id');

  const searchColumns: AssetAcquisitionManageAPI.ISearchList = [
    {
      name: 'applyTitle',
      placeholder: '事项名称',
      label: '事项名称',
      componentType: 'Input',
      allowClear: true,
      md: 5,
      sm: 24,
      whetherSenior: false,
      searchParams: {
        fieldType: 'String',
        fieldParam: 0,
        fieldUse: 0,
        searchType: 0,
        seq: 0,
      },
    },
    {
      name: 'materialType',
      placeholder: '入库类型',
      label: '入库类型',
      componentType: 'Select',
      allowClear: true,
      md: 5,
      sm: 24,
      whetherSenior: false,
      dataSource: [
        {
          name: '材料入库',
          value: 0,
        },
        {
          name: '资产入库',
          value: 1,
        },
      ],
      searchParams: {
        fieldType: 'Number',
        fieldParam: 0,
        fieldUse: 0,
        searchType: 0,
        seq: 0,
      },
    },
    {
      name: 'state',
      placeholder: '状态',
      label: '状态',
      componentType: 'Select',
      dataSource: applyStatusList,
      allowClear: true,
      md: 5,
      sm: 24,
      whetherSenior: false,
      searchParams: {
        fieldType: 'String',
        fieldParam: 0,
        fieldUse: 0,
        searchType: 0,
        seq: 0,
      },
    },
    {
      name: 'createTime',
      placeholder: '申请',
      label: '申请',
      componentType: 'RangePicker',
      allowClear: true,
      md: 9,
      sm: 24,
      whetherSenior: false,
      searchParams: {
        fieldType: 'Date',
        fieldParam: 0,
        fieldUse: 0,
        searchType: 0,
        seq: 0,
      },
    },
    /**===============================高级搜素================================*/
    {
      name: 'createFormName',
      placeholder: '申请',
      label: '申请',
      componentType: 'DeptAndUser',
      dataSource: getLevelZeroJson() ?? [],
      allowClear: true,
      md: 4,
      sm: 24,
      whetherSenior: true,
      formOrgType: {
        COMP: 'createCompanyID',
        DEPT: 'createDepartmentID',
        POS: 'createPositionID',
        USER: 'createrID',
      },
    },
    {
      name: 'cancelTime',
      placeholder: '',
      label: '作废时间',
      componentType: 'RangePicker',
      allowClear: true,
      md: 4,
      sm: 24,
      whetherSenior: true,
      searchParams: {
        fieldType: 'Date',
        fieldParam: 0,
        fieldUse: 0,
        searchType: 0,
        seq: 0,
      },
    },
    {
      name: 'cancelFormName',
      placeholder: '作废',
      label: '作废',
      componentType: 'DeptAndUser',
      dataSource: getLevelZeroJson() ?? [],
      allowClear: true,
      md: 6,
      sm: 24,
      whetherSenior: true,
      formOrgType: {
        COMP: 'cancelCompanyID',
        DEPT: 'cancelDepartmentID',
        POS: 'cancelPositionID',
        USER: 'cancelerID',
      },
      searchParams: {
        fieldType: 'String',
        fieldParam: 0,
        fieldUse: 0,
        searchType: 0,
        seq: 0,
      },
    },
  ];

  return searchColumns;
};

export { ManageSearchColumns };

/**审批状态数据字典*/
// const approveStatusList = getSelectDataCommon(loadMdicMapList?.[`${getTenantID()}${ILoadMapTypeAll.ASSET_APPROVE_STATUS}`], 'name', 'id');

// const searchColumns: AssetAcquisitionManageAPI.ISearchList = [
//   {
//     name: 'storageState',
//     placeholder: '登记状态',
//     label: '登记状态',
//     componentType: 'Select',
//     dataSource: [
//       { name: '入库中', value: '100124031000' },
//       { name: '已入库', value: '100124031001' },
//     ],
//     allowClear: true,
//     md: 4,
//     sm: 24,
//     whetherSenior: false,
//     searchParams: {
//       fieldType: 'String',
//       fieldParam: 0,
//       fieldUse: 0,
//       searchType: 0,
//       seq: 0,
//     },
//   },
//   {
//     name: 'content',
//     placeholder: '登记说明',
//     label: '登记说明',
//     componentType: 'Input',
//     allowClear: true,
//     md: 4,
//     sm: 24,
//     whetherSenior: false,
//     treeID: 'id',
//     treeName: 'name',
//     searchParams: {
//       fieldType: 'String',
//       fieldParam: 0,
//       fieldUse: 0,
//       searchType: 0,
//       seq: 0,
//     },
//   },
//   {
//     name: 'materialType',
//     placeholder: '入库类型',
//     label: '入库类型',
//     componentType: 'Select',
//     dataSource: [
//       { name: '资产入库', value: '1' },
//       { name: '材料入库', value: '0' },
//     ],
//     allowClear: true,
//     md: 4,
//     sm: 24,
//     whetherSenior: false,
//     searchParams: {
//       fieldType: 'String',
//       fieldParam: 0,
//       fieldUse: 0,
//       searchType: 0,
//       seq: 0,
//     },
//   },
//   {
//     name: 'storageTime',
//     placeholder: '登记',
//     label: '登记',
//     componentType: 'RangePicker',
//     allowClear: true,
//     md: 12,
//     sm: 24,
//     whetherSenior: false,
//     searchParams: {
//       fieldType: 'Date',
//       fieldParam: 0,
//       fieldUse: 0,
//       searchType: 0,
//       seq: 0,
//     },
//   },
//   /**===============================高级搜素================================*/
//   {
//     name: 'createFormName',
//     placeholder: '登记',
//     label: '登记',
//     componentType: 'DeptAndUser',
//     dataSource: getLevelZeroJson() ?? [],
//     allowClear: true,
//     md: 4,
//     sm: 24,
//     whetherSenior: true,
//     formOrgType: {
//       COMP: 'createCompanyID',
//       DEPT: 'createDepartmentID',
//       POS: 'createPositionID',
//       USER: 'createrID',
//     },
//   },
//   // {
//   //   name: 'checkState',
//   //   placeholder: '审批状态',
//   //   label: '审批状态',
//   //   componentType: 'Select',
//   //   dataSource: approveStatusList,
//   //   allowClear: true,
//   //   md: 4,
//   //   sm: 24,
//   //   whetherSenior: true,
//   //   searchParams: {
//   //     fieldType: 'String',
//   //     fieldParam: 0,
//   //     fieldUse: 0,
//   //     searchType: 0,
//   //     seq: 0,
//   //   },
//   // },
//   // {
//   //   name: 'cancelTime',
//   //   placeholder: '',
//   //   label: '作废时间',
//   //   componentType: 'RangePicker',
//   //   allowClear: true,
//   //   md: 4,
//   //   sm: 24,
//   //   whetherSenior: true,
//   //   searchParams: {
//   //     fieldType: 'Date',
//   //     fieldParam: 0,
//   //     fieldUse: 0,
//   //     searchType: 0,
//   //     seq: 0,
//   //   },
//   // },
//   // {
//   //   name: 'cancelFormName',
//   //   placeholder: '作废',
//   //   label: '作废',
//   //   componentType: 'DeptAndUser',
//   //   dataSource: getLevelZeroJson() ?? [],
//   //   allowClear: true,
//   //   md: 6,
//   //   sm: 24,
//   //   whetherSenior: true,
//   //   formOrgType: {
//   //     COMP: 'cancelCompanyID',
//   //     DEPT: 'cancelDepartmentID',
//   //     POS: 'cancelPositionID',
//   //     USER: 'cancelerID',
//   //   },
//   //   searchParams: {
//   //     fieldType: 'String',
//   //     fieldParam: 0,
//   //     fieldUse: 0,
//   //     searchType: 0,
//   //     seq: 0,
//   //   },
//   // },
// ];
